﻿#!/bin/bash
#author:Castle Moriarty
# date:2025-10-28

## 检查跑的是什么web服务

## 脚本需求：
## 写一个脚本判断你的Linux服务器是否开启web服务？(监听80端口)
## 如果开启了，请判断跑的是什么服务，是httpd呢还是nginx又或者是其他的什么？

## 定义检查web服务是什么的函数
what_web()
{
  case $1 in
    httpd)
      echo "跑的是Httpd."
      ;;
    nginx)
      echo "跑的是Nginx."
      ;;
    *)
      echi "跑的是其他服务，既不是Nginx也不是Httpd."
      ;;
    esac
}

## 如果没有监听80端口，则说明没有跑Web服务
port_n=`ss -lntp | grep ':80 '|wc -l`
if [ ${port_n} -eq 0 ];then
  echo "没有开启Web服务";
  exit;
fi

## 将监听80端口的所有进程去重后先写入临时文件
ss -lntp|grep ':80 '|awk -F '"' '{print $2}'|sort|uniq > /tmp/web.txt

## 计算临时文件有多少行
line=`wc -l /tmp/web.txt|awk '{print $1}'`

## 如果进程不止一种，那需要做遍历
if [ $line -gt 1 ]
then
  for web in `cat /tmp/web.txt`
  do
    what_web $web
  done
else
  web=`cat /tmp/web.txt`
  what_web $web
fi

rm -f /tmp/web.txt


<<'COMMENT'
关键知识点总结：
1)
2)
3)
4)
COMMENT